Description of Keys & Commands
==============================
Note: English translation still under construction!

Command-Group "VAR": Variable
=============================

Mit den VAR-Commands kann man eine ganze Menge anstellen.
Nicht nur fr skript-internen Einsatz wie bei den LOOP-Commands gezeigt
(s. Kapitel "BTCH), sondern es lassen sich gar Berechnungen in Excel
automatisieren (DM in Euro u.s.w.) u.v.m.


/VAR.>.CLIP ...........: To copy the variable into the clip (clip=VAR)
/VAR.<.CLIP [t] .......: To paste the clip into the variable (VAR=clip), optional: ignore thousand-separator <t>
------------------------
Mit Hilfe dieser Commands wre z.B. eine Berechnung in Excel mglich.
Eine mgliche Vorgehensweise:

1. Ein Zelleninhalt von Excel wird in die Zwischenablage kopiert
2. Der Inhalt der Zwischenablage der Variablen zugewiesen
3. Die Berechnung der Variablen durchgefhrt
4. Die Variable an eine Excel-Zelle gesendet

Example:

{/BTCH.EXPLICIT}
{HOLD.CONTROL}c
{/VAR.<.CLIP}
{/VAR.MUL 0,51129188}
{KEY.ESC}{KEY.RIGHT}
{/VAR.SEND,}
{KEY.LEFT}{KEY.DOWN}

Dieses Skript rechnet den Wert einer Excel-Zelle von DM in Euro um,
schreibt das Ergebnis in die rechts danebenliegende Zelle und bewegt
den Cursor in die Folge-Zelle der DM-Spalte.

--> Hinweis
Der Command zum Kopieren der VAR in die Zwablage kann zwar erkennen, ob es ggf. ein Komma in
einen Dezimal-Punkt wandeln mu (intern rechnet das System mit Punkt), bei einem Tausender-
Trennpunkt wie "1.234,56" wird es allerdings schwieriger.
Wird fr den <t>-Parameter "." angegeben, so ignoriert RK den Punkt, indem es den Text zuvor in
"1234,56" wandelt und kann ihn anschlieend der VAR in Form des Wertes 1234.56 bergeben.

Example: {/VAR.<.CLIP .}


/VAR.<.MCI mod ........: To copy MCI state info into VAR, <mod>=0:current track, 1:total tracks, 2:playing yes/no
------------------------
Dieser Command wurde fr die MCI-Commands eingerichtet (siehe dort), um verschiedene
Zustnde des CD-Players in der VAR (temporr) speichern zu knnen.

=0: VAR = Aktueller Titel
=1: VAR = Gesamt-Anzahl Titel der inliegenden CD
=2: VAR = CD wird z.Zt. abgespielt (VAR=1) bzw. wird nicht abgespielt (VAR=0)


/VAR.<.MOUSE.MF .......: To copy (temp) current mouse coordinates into VAR1/2, in mouse-coordinates-format
/VAR.<.MOUSE.SF .......: To copy (temp) current mouse coordinates into VAR1/2, in screen-coordinates-format
------------------------
Diese Kommands eignen sich vorwiegend fr Hot-Key-Anwendungen.
Da das Koordinaten-System von Maus und Bildschirm nicht identisch ist, muten 2 unterschiedliche
Commands entwickelt werden.

Als Gegenstck zum .MF Command wre der Command {/MOUSE.GO.SET} (ohne Parameter) zu betrachten.
{/VAR.<.MOUSE.MF}: Speichert die aktuellen Mauszeiger-Koordinaten in VAR 1+2 (Maus-Format)
{/MOUSE.GO.SET}  : Bewegt den Mauszeiger zu den Koordinaten, die in VAR 1+2 gespeichert sind

Als Gegenstck zum .SF Command wre der Command {/ME.SHOW ,} (mit Komma-Parameter) zu betrachten.
{/VAR.<.MOUSE.SF}: Speichert die aktuellen Mauszeiger-Koordinaten in VAR 1+2 (Bildsch-Format)
{/ME.SHOW ,}     : Verschiebt (bzw. ffnet) das RK-Fenster an die Bildschposition der zuvor in
                   VAR 1+2 gespeicherten Mauszeiger-Koordinaten


/VAR.<.PROF mod .......: To copy (temp) setting of current profile into VAR, <mod>=0:col, 1:row, 2:wide, 3:high
------------------------
Dieser Command wurde fr die Commands ME.PROF.TMP eingerichtet (siehe dort), um die (temporren)
Einstellungen des aktuellen Profils ermitteln und rechnerisch ndern zu knnen.
Da die Spalten- und Zeilen-Anzahl und die Knopf-Breiten und -Hhen nderbar sind, gestattet
dieser Command auch jeweils die Speicherung (nicht auf Disk) dieser Werte des aktuell eingestellten
Profils. Liegt bereits eine temoprre Einstellung fr den angegebenen Parameter vor, so wird diese
auch verwendet. Ansonsten wird der im Bearbeiten > Profil Dialog eingestellte Grundwert als
Ausgangswert genommen.

=0: VAR = Spalten-Anzahl des aktuellen Profils
=1: VAR = Zeilen-Anzahl  des aktuellen Profils
=2: VAR = Knopf-Breite   des aktuellen Profils
=3: VAR = Knopf-Hhe     des aktuellen Profils

Example: {/VAR.<.PROF 0}


/VAR.<.WIN ............: To store the number of the active window in current VAR for future activation
/VAR.>.WIN ............: To activate the window (by number) which was stored in VAR before
------------------------

Beispiel-Skript:

{/BTCH.EXPLICIT}
{/VAR.<.WIN}
{/APP.ACTIVATION.OFF}
{/CODE.KEY 91}
{KEY.UP}{KEY.UP}{KEY.UP}{KEY.UP}{KEY.UP}{KEY.UP}
{KEY.RIGHT}
{KEY.DOWN}{KEY.DOWN}
{KEY.ENTER}
{/VAR.>.WIN}

Dieses Beispiel ffnet das Drucker-Fenster (sofern das Start-Men nicht abweichend
strukturiert ist) und aktiviert anschlieend das Fenster, welches vor dem Aufruf des
Skriptes aktiv war.

--> Beachte!
Eine Fenster-Nummer wird durch Windows dynamisch zugeordnet. Ein erneutes ffnen eines
zuvor geschlossenen Fensters fhrt i.d.R. dazu, da es eine neue Fenster-Nummer erhlt.


/VAR.SET val ..........: To set variable to <val> (value) (VAR=val)
/VAR.ADD val ..........: To add <val> (value) to the variable (VAR=VAR+val)
/VAR.SUB val ..........: To substract <val> (value) from the variable (VAR=VAR-val)
/VAR.MUL val ..........: To multiply the variable with <val> (value) (VAR=VAR*val)
/VAR.DIV val ..........: To divide the variable with <val> (value) (VAR=VAR/val)
------------------------
Diese Commands dienen der Zuweisung und Berechnungen der Variablen.

Example: {/VAR.SET 5}{/VAR.ADD 1.5}

Der Variablen-Wert betrgt nach Ausfhrung dieser Command-Folge 6,5.


/VAR.CLR ..............: To clear the variable (VAR=0)
------------------------

Example: {/VAR.CLR}


/VAR.ASK ..............: To set VAR to an user defined value
------------------------

Example: {/VAR.ASK}


/VAR.CLP.SEARCH str ...: To search in clip for <str> and set VAR to the 1st founded position
------------------------

Example: {/VAR.CLP.SEARCH hello}

If clip content = "say hello", VAR will be set to 5.


/VAR.FLD.ASK ..........: To open dialog to change field element number and values
/VAR.FLD.CHANGE elm ...: To change field element number to <elm> (element, 1-10)
/VAR.FLD.CLR ..........: To clear all field elements and change current element number to 1
------------------------
Since v7.7 RK was enlarged to handel 10 variables instead of only one.
All normal VAR-Commands works with the field element which is set by the ASK or CHANGE
command. In the beginning default field element = 1.
For example the CLEAR command will clear field element 1 if element 1 is the current element.
To clear element 3 with the CLEAR command, it is requierd to set current element to 3
with the ASK or CHANGE command. Same procedure for VAR.ADD and so on.

Example: {/VAR.FLD.ASK}
Example: {/VAR.FLD.CHANGE 2}
Example: {/VAR.FLD.CLR}


/VAR.FLD.ADD elm ......: To add VAR <elm> (element, 1-10) to current VAR (VAR=VAR+VAR<elm>)
/VAR.FLD.SUB elm ......: To substract VAR <elm> (element, 1-10) from current VAR (VAR=VAR-VAR<elm>)
/VAR.FLD.MUL elm ......: To multiply current VAR with VAR <elm> (1-10) (VAR=VAR*VAR<elm>)
/VAR.FLD.DIV elm ......: To divide current VAR with VAR <elm> (1-10) (VAR=VAR/VAR<elm>)
------------------------

Example:

{/BTCH.EXPLICIT}
{/VAR.FLD.CHANGE 1}
{/VAR.SET 55}
{/VAR.FLD.CHANGE 2}
{/VAR.SET 17}
{/VAR.FLD.CHANGE 1}
{/VAR.FLD.SUB 2}
{/VAR.VIEW}

The VIEW-Command showes, that VAR element 1 has the value 38 (55-17).
This is not a useful script but for demonstration only.


/VAR.FLD.MRG e1,e2 ....: To merge field element e1 and e2, point separated (VAR=VAR<e1>.VAR<e2>)
------------------------

Example: {/VAR.FLD.MRG 1,2}

Ist VAR-1 = 12 und VAR-2 = 34, so erhlt das aktuelle Feld-Element den Wert 12.34 bzw. 12,34.


/VAR.FLD.SWAP elm .....: To swap current VAR and VAR <elm> (1-10) (VAR=VAR<elm>, VAR<elm>=VAR)
------------------------
This will swap the content of 2 elements.

Example: {/VAR.FLD.SWAP 2}

Based on the example before, element 1 = 17 and element 2 = 38 now.


--> Note
See profile "Script-Calculator" for demonstation. Functions like M+, MR etc needs these
commands to use them as memories.


/VAR.MOD mod ..........: To modify VAR in several modes, <mod>=0:absolute, 1:x-1, 2:integer, 3:extract dec.
------------------------
Hiermit kann VAR entsprechend der Parameter-Angabe <mod> (0-3) verschiedenartig modifiziert werden:

=0: absolut: aus -1 wird 1, 1 bleibt 1
=1: x-1    : aus -1 wird 1, aus 1 wird -1
=2: integer: aus 1,23 wird 1
=3: nur dez: aus 1,23 wird 23

Example: {/VAR.MOD 2}


/VAR.RND [min,max] ....: To generate a random number between <min> and <max> (VAR=RND) (default VAR1/2)
------------------------

Example:
{/VAR.RND 1,5}{/VAR.SEND}

This example will send a random number between 1 and 5.

-> Note
Ab v8.1.4 kann der Parameter weggelassen werden, um statt dessen die Vriablen VAR1/2 einzusetzen.


/VAR.SEND .............: To send the variable as a string to the active application
------------------------
Dieser Command dient der Ausgabe der Variablen (Ergebnis einer Berechnung).

Example: {/VAR.SEND}


/VAR.SEND, ............: To send the variable as a string in comma-format (1,5)
/VAR.>.CLIP, ..........: To copy the variable into the clip in comma-format (clip=VAR)
------------------------
Fr die deutsche Standard-Einstellung der Systemsteuerung wurde diese komma-
untersttzenden Commands implementiert (s. obiges Beispiel).


/VAR.SND.FORMAT str ...: To send the variable in format <str>
/VAR.CLP.FORMAT str ...: To copy the variable in format <str> into the clip
------------------------
Mit diesen Commands sind formatierte Ausgaben mglich.

Example: {/VAR.SND.FORMAT #,##0.00}

Die Ausgabe wrde sich im folgenden Format prsentieren: 1.234,56


/VAR.VIEW .............: To show the value of VAR in the internal text viewer
------------------------

Example: {/VAR.VIEW}